Distributed shared memory (DSM) provides an abstraction that allows users to view a physically distributed memory of a distributed system as a virtual shared address space. DSM provides a convenience for programmers of distributed applications, reducing or eliminating the requirement to be aware of the distributed architecture of the system and the requirement to use a less intuitive form of communication on a distributed system via message passing. DSM also provides a means to directly port software written for non-distributed systems to work on distributed systems.
There are many forms of DSM algorithms and technologies, all of them sharing a fundamental architecture of being composed of distributed agents deployed on a plurality of clustered nodes, maintaining local data structures and memory segments, and using a communication protocol over a message passing layer to coordinate operations. Message traffic should be minimized for a given load of work, and memory coherency must be maintained.
One vulnerability of existing DSM algorithms and technologies is the assumptions they make regarding the reliability of the underlying layer of message passing. These assumptions include:                Reliable message passing. Namely messages always reach their destination and are not delayed.        Deterministic final feedback provided by the message passing layer on the fate of each message, i.e. whether the message reached its destination or not.        Ordering of messages. Namely messages that are sent earlier arrive earlier at their destination.DSM technologies that rely on any subset of these assumptions, where the message passing layer does not fully support these assumptions, are vulnerable to loss of memory coherency and to possible corruption of both user data and internal data structures. Unfortunately, in real-life systems those assumptions do not fully apply for message passing layers, and there is a non-zero probability of their violation, possibly resulting in data corruption. This significantly limits the applicability of existing DSM technologies.        